ENG-3098: PBAC management UI — data purposes, consumers, query log config#7700
Merged
ENG-3098: PBAC management UI — data purposes, consumers, query log config#7700
Conversation
Update fideslang dependency to use the feat/add-data-purposes-to-dataset-models branch which adds data_purposes at dataset, collection, field, and sub-field levels. Dependency: ethyca/fideslang#39 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rect-reference error Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add admin UI for managing purpose-based access control (PBAC) entities: Data purposes & data consumers management pages: - List pages with Ant Table, search, pagination under Core Configuration - Add/edit pages using Ant Design v5 Form (Form.useForm, Form.Item) - Data purpose form mirrors privacy declaration fields (data use, categories, subjects, legal basis, retention, special category, features) - Data consumer form includes purpose assignment via multi-select - Delete confirmation modals with scope-based access control - RTK Query slices with cache invalidation (DataPurpose, DataConsumer tags) - Nav registration gated behind alphaPurposeBasedAccessControl flag Query log config integration tab: - Settings toggle panel on integration detail page (not CRUD table) - Enable/disable switch with poll interval selector - Inline Test connection and Poll now action buttons - RTK Query slice for query log config CRUD + test + poll endpoints - Tab registered for BigQuery and test_datastore (mock) integration types - test_datastore connections always pass connection test (no secrets needed) Infrastructure: - 12 new OAuth scope enums (DATA_PURPOSE_*, DATA_CONSUMER_*, QUERY_LOG_SOURCE_*) - 3 new cache tags (DataPurpose, DataConsumer, QueryLogConfig) - IntegrationFeature.QUERY_LOGGING enum value - test_datastore integration type info with QUERY_LOGGING feature - Connection test always succeeds for test_datastore/test_website types Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Adds a new "Seed Data" page under the Developer nav (dev-only) that lets users select and trigger seed scenarios via the seed API. Includes RTK Query slice with status polling and cache tag invalidation mapped per seed task. Currently supports the PBAC scenario. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Toggling the query log switch off now sends PUT {enabled: false}
instead of DELETE, preserving the config and its watermark so
re-enabling resumes from where it left off.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The form was requesting size=500 but the API enforces max 100, causing a validation error and an empty dropdown. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove seed data files from this PR so they can be submitted as a standalone PR on top. Files moved: - features/seed-data/SeedDataPanel.tsx - features/seed-data/seed-data.slice.ts - pages/poc/seed-data.tsx - nav-config + routes entries for /poc/seed-data Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a Seed Data page under the Developer nav (dev-only) that lets users select and trigger seed scenarios via the seed API. Includes RTK Query slice with status polling and cache tag invalidation mapped per seed task. Currently supports the PBAC scenario. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
8 tasks
Replace non-existent TrashCanOutlineIcon with Icons.TrashCan from fidesui, matching the pattern used throughout the codebase. Add missing changelog entry for PR #7700. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add missing blank line between third-party and local import groups to satisfy simple-import-sort/imports rule. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace invalid "processing" Tag color with "info" in SeedDataPanel - Simplify invalidatesTags to a static array (fixes RTK Query type error) - Fix "Privacy Requests" -> "Request" (the actual registered tag type) - Update dashboard_snapshot migration down_revision to c7e3a9b1d4f2 to resolve Alembic multiple head revisions error Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This reverts commit 8805514.
added 2 commits
March 25, 2026 15:34
Add required curly braces around single-line if bodies to satisfy the curly and nonblock-statement-body-position lint rules. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove unnecessary React fragment wrapper around label text. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
FidesBase defines id with index=True, so the migration must create ix_dashboard_snapshot_id to match the model. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the dashboard_snapshot table to the fides db_dataset.yml with system.operations annotations to satisfy fides_db_scan. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket ENG-3098
Description Of Changes
Add the admin UI for managing purpose-based access control (PBAC) entities. Three feature areas:
Data purposes management (
/data-purposes)Data consumers management (
/data-consumers)Query log config (integration detail tab)
All pages gated behind
alphaPurposeBasedAccessControlfeature flag andrequiresPlus.Code Changes
features/data-purposes/— 8 files: RTK slice, table, form, delete modal, actions cell, constants, barrelfeatures/data-consumers/— 8 files: RTK slice, table, form, delete modal, actions cell, constants, barrelfeatures/integrations/configure-query-log/— 6 files: RTK slice, tab, table hook, modal, actions cell, constantspages/data-purposes/— 3 pages: list, add, editpages/data-consumers/— 3 pages: list, add, editfeatures/common/nav/routes.ts— 8 new route constantsfeatures/common/nav/nav-config.tsx— 2 nav items under Core Configurationfeatures/common/api.slice.ts— 3 cache tagstypes/api/models/ScopeRegistryEnum.ts— 12 scope enumstypes/api/models/IntegrationFeature.ts— QUERY_LOGGING enumfeatures/integrations/add-integration/allIntegrationTypes.tsx— test_datastore type infofeatures/integrations/integration-type-info/bigqueryInfo.tsx— QUERY_LOGGING featurefeatures/integrations/hooks/useFeatureBasedTabs.tsx— Query logging tabsrc/fides/service/connection/connection_service.py— test types always pass connection testSteps to Confirm
nox -s "dev(slim)" -- fides-pkg fides-admin-uialphaPurposeBasedAccessControlfeature flagcd clients/admin-ui && npm run lint && npm run typecheckPre-Merge Checklist
nox -s dev -- demoCHANGELOG.md